71 research outputs found
Studying Software Engineering Patterns for Designing Machine Learning Systems
Machine-learning (ML) techniques have become popular in the recent years. ML
techniques rely on mathematics and on software engineering. Researchers and
practitioners studying best practices for designing ML application systems and
software to address the software complexity and quality of ML techniques. Such
design practices are often formalized as architecture patterns and design
patterns by encapsulating reusable solutions to commonly occurring problems
within given contexts. However, to the best of our knowledge, there has been no
work collecting, classifying, and discussing these software-engineering (SE)
design patterns for ML techniques systematically. Thus, we set out to collect
good/bad SE design patterns for ML techniques to provide developers with a
comprehensive and ordered classification of such patterns. We report here
preliminary results of a systematic-literature review (SLR) of good/bad design
patterns for ML
Identifying Characteristics of the Agile Development Process That Impact User Satisfaction
The purpose of this study is to identify the characteristics of Agile
development processes that impact user satisfaction. We used user reviews of
OSS smartphone apps and various data from version control systems to examine
the relationships, especially time-series correlations, between user
satisfaction and development metrics that are expected to be related to user
satisfaction. Although no metrics conclusively indicate an improved user
satisfaction, motivation of the development team, the ability to set
appropriate work units, the appropriateness of work rules, and the improvement
of code maintainability should be considered as they are correlated with
improved user satisfaction. In contrast, changes in the release frequency and
workload are not correlated
ProMeTA: A taxonomy for program metamodels in program reverse engineering
ABSTRACT: To support program comprehension, maintenance, and evolution, metamodels are frequently used during program reverse engineering activities to describe and analyze constituents of a program and their relations. Reverse engineering tools often define their own metamodels according to the intended purposes and features. Although each metamodel has its own advantages, its limitations may be addressed by other metamodels. Existing works have evaluated and compared metamodels and tools, but none have considered all the possible characteristics and limitations to provide a comprehensive guideline for classifying, comparing, reusing, and extending program metamodels. To aid practitioners and researchers in classifying, comparing, reusing, and extending program metamodels and their corresponding reverse engineering tools according to the intended goals, we establish a conceptual framework with definitions of program metamodels and related concepts. We confirmed that any reverse engineering activity can be clearly described as a pattern based on the framework from the viewpoint of program metamodels. Then the framework is used to provide a comprehensive taxonomy, named Program Metamodel TAxonomy (ProMeTA), which incorporates newly identified characteristics into those stated in previous works, which were identified via a systematic literature review (SLR) on program metamodels, while keeping the orthogonality of the entire taxonomy. Additionally, we validate the taxonomy in terms of its orthogonality and usefulness through the classification of popular metamodels
Is Fragmentation a Threat to the Success of the Internet of Things?
The current revolution in collaborating distributed things is seen as the
first phase of IoT to develop various services. Such collaboration is
threatened by the fragmentation found in the industry nowadays as it brings
challenges stemming from the difficulty to integrate diverse technologies in
system. Diverse networking technologies induce interoperability issues, hence,
limiting the possibility of reusing the data to develop new services. Different
aspects of handling data collection must be available to provide
interoperability to the diverse objects interacting; however, such approaches
are challenged as they bring substantial performance impairments in settings
with the increasing number of collaborating devices/technologies.Comment: 16 pages, 2 figures, Internet of Things Journal
(http://ieee-iotj.org
Knowledge description model for bodies of knowledge in software engineering context
Bodies of Knowledge (BOK) contains the relevant knowledge for a discipline. BOK must embody the consensus reached by the community for which this BOK will be of application. This consensus is a prerequisite for the adoption of the BOK by the community. In this paper, we utilize a combinations of Software Engineering Body of Knowledge (SWEBOK), models representation, and design science methodology in order to describe the software engineering knowledge context (SEC). SWEBOK serves as backbone taxonomy, while models representation provides a context of representation. In the process of develop of this paper science design methodology was used to provide fundamental knowledge in software engineering (SE)
Curricular design based in bodies of knowledge: engineering education for the innovation and the industry
Bodies of Knowledge (BOK), contain the relevant knowledge for a disciplines as example Software Engineering (SE), System Information (SI), Information Technology (IT), Computer Science (CS), Medicine, Economics, and others areas of knowledge. BOK describes relevant knowledge for a discipline, and will need show the consensus in the Knowledge Areas (KA), and related disciplines. The development of this consensus is a prerequisite to the adoption of coherent skills development in the education context, and continuing professional programs both in public and private organizations. In this context a systematic mapping study (SMS), it was performed to evaluate quantity and types of primary studies in an area of interest. SMS will be used as the research method within this research. The research method proposed will allow to sort and classify the information referent to the topics of this research. This paper is an attempt to analyze existing proposals on BOK contents, structure, and make a proposal what the kind of contents it should have, and how it should be structured so that this consensus among all parties can be described and best achieved. In the same way the relevance, and useful of the BOK in the curricular design for the innovation, and the industry context is present
Open BOK on Software Engineering Educational Context: A Systematic Literature Review
In this review, a Systematic Literature Review (SLR) on Open Body of Knowledge (BOK) is presented. Moreover, the theoretical base to build a model for knowledge description was created, and it was found that there is a lack of guidelines to describe knowledge description because of the dramatically increasing number of requirements to produce an Open BOK, the difficulty of comparing related BOK contents, and the fact that reusing knowledge description is a very laborious task. In this sense, this review can be considered as a first step in building a model that can be used for describing knowledge description in Open BOK. Finally, in order to improve the educational context, a comparison among BOK, structure, and evolution is conducted.This work is supported partially by RTI2018-096846-B-C21 (MCIU/AEI/FEDER, UE) and ADIAN grant IT980-16 (BasqueGovernment)
Identifying Potential Problems and Risks in GQM+Strategies Models Using Metamodel and Design Principles
Although GQM+Strategies®1 assures that business goals and strategies are aligned throughout an organization and at each organizational unit based on the rationales to achieve the overall business goals, whether the GQM+Strategies grid is created correctly cannot be determined because the current definition of GQM+Strategies allows multiple perspectives when aligning goals with strategies. Here we define modeling rules for GQM+Strategies with a metamodel specified with a UML class diagram. Additionally, we create design principles that consist of relationship constraints between GQM+Strategies elements, which configure GQM+Strategies grids. We demonstrate that the GQM+Strategies grids can be automatically determined with the help of design principles described in OCL. In fact, an experiment is implemented using these approaches in order to show that this method helps identify and improve potential problems and risks. The results confirm that our approaches help create a consistent GQM+Strategies grid
Recovering Transitive Traceability Links among Software Artifacts
Abstract-Although many methods have been suggested to automatically recover traceability links in software development, they do not cover all link combinations (e.g., links between the source code and test cases) because specific documents or artifact features (e.g., log documents and structures of source code) are used. In this paper, we propose a method called the Connecting Links Method (CLM) to recover transitive traceability links between two artifacts using a third artifact. Because CLM uses a different artifact as a document, it can be applied to kinds of various data. Basically, CLM recovers traceability links using the Vector Space Model (VSM) in Information Retrieval (IR) methods. For example, by connecting links between A and B and between B and C, CLM retrieves the link between A and C transitively. In this way, CLM can recover transitive traceability links when a suggested method cannot. Here we demonstrate that CLM can effectively recover links that VSM cannot using Open Source Software
- …